/* A temp window is not necessarily a top level window */
dwStyle = (_gdk_root == real_parent ? WS_POPUP : WS_CHILDWINDOW);
dwStyle |= WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
- dwExStyle |= WS_EX_TOOLWINDOW;
+ dwExStyle |= WS_EX_TOOLWINDOW | WS_EX_TOPMOST;
offset_x = _gdk_offset_x;
offset_y = _gdk_offset_y;
break;
}
/* Sync STATE_ABOVE to TOPMOST */
- if (((window->state & GDK_WINDOW_STATE_ABOVE) &&
- !(exstyle & WS_EX_TOPMOST)) ||
- (!(window->state & GDK_WINDOW_STATE_ABOVE) &&
- (exstyle & WS_EX_TOPMOST)))
+ if (GDK_WINDOW_TYPE (window) != GDK_WINDOW_TEMP &&
+ (((window->state & GDK_WINDOW_STATE_ABOVE) &&
+ !(exstyle & WS_EX_TOPMOST)) ||
+ (!(window->state & GDK_WINDOW_STATE_ABOVE) &&
+ (exstyle & WS_EX_TOPMOST))))
{
API_CALL (SetWindowPos, (GDK_WINDOW_HWND (window),
(window->state & GDK_WINDOW_STATE_ABOVE)?HWND_TOPMOST:HWND_NOTOPMOST,
new_style = old_style;
new_exstyle = old_exstyle;
- if (window->window_type == GDK_WINDOW_TEMP ||
- impl->type_hint == GDK_WINDOW_TYPE_HINT_UTILITY)
- new_exstyle |= WS_EX_TOOLWINDOW;
+ if (window->window_type == GDK_WINDOW_TEMP)
+ new_exstyle |= WS_EX_TOOLWINDOW | WS_EX_TOPMOST;
+ else if (impl->type_hint == GDK_WINDOW_TYPE_HINT_UTILITY)
+ new_exstyle |= WS_EX_TOOLWINDOW ;
else
new_exstyle &= ~WS_EX_TOOLWINDOW;